home *** CD-ROM | disk | FTP | other *** search
- #
- # whatis -- and implementation of the 10th Edition Unix sh builtin `whatis'
- # command.
- #
- # usage: whatis arg [...]
- #
- # For each argument, whatis prints the associated value as a parameter,
- # builtin, function, alias, or executable file as appropriate. In each
- # case, the value is printed in a form which would yield the same value
- # if typed as input to the shell itself.
- #
-
- whatis()
- {
- local wusage='usage: whatis arg [arg...]'
- local fail=0
-
- if [ $# -eq 0 ] ; then
- echo "$wusage"
- return 1
- fi
-
- for arg
- do
- case $(builtin type -type $arg) in
- "alias")
- echo "$(alias $arg)"
- ;;
- "function")
- builtin type "$arg" | sed 1d
- ;;
- "builtin")
- echo builtin "$arg"
- ;;
- "file")
- echo $(type -path "$arg")
- ;;
- *)
- # OK, we could have a variable, or we could have nada
- if [ "$(eval echo \${$arg+set})" = "set" ] ; then
- # It is a variable, and it is set
- echo -n "$arg="
- eval echo \$$arg
- else
- fail=1
- fi
- ;;
- esac
- done
- return $fail
- }
-